/**
 * 
 */
package it.gommonauti.patenti.dao;

import it.gommonauti.patenti.entity.Category;
import it.gommonauti.patenti.entity.Exam;
import it.gommonauti.patenti.entity.MainQuestion;
import it.gommonauti.patenti.exception.ApplicationException;

import java.sql.SQLException;
import java.util.ArrayList;

/**
 * @author Francesco Stallone ( f.stallone73@gmail.com ).
 * 
 *  Data access object interface to retrieve 
 *  MainQuestion objects from a generic db.
 *
 */
public interface MainQuestionDAO {

	public MainQuestion getMainQuestion(int id, String idLanguage) throws ApplicationException, SQLException;
	
	public int[] getMainQuestionsIDLinear(String idLanguage, int idExam) throws ApplicationException, SQLException;
	
	public int[] getMainQuestionsIDRandom(String idLanguage, int idExam) throws ApplicationException, SQLException;

	public ArrayList<Category> getCategories(String idLanguage, int idExam) throws ApplicationException, SQLException;

	public int[] getMainQuestionsIDRandomByIDCategoryAndIDLanguage(int idCategory, String idLanguage) throws ApplicationException, SQLException;

	public ArrayList<Exam> getExams(String idLanguage) throws ApplicationException, SQLException;

	public Exam getExam(int id, String idLanguage) throws ApplicationException, SQLException;
}
